package com.forum.module.system.controller.admin.user.vo.user;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

/**
 * @author zihan.ouyang
 */
@Schema(description = "管理后台 - 用户修改密码 Request VO")
public class UserUpdatePasswordReqVO {
    @Schema(description = "用户邮箱", requiredMode = Schema.RequiredMode.REQUIRED, example = "213124214@qq.com")
    @NotNull(message = "用户邮箱不能为空")
    private String email;

    @Schema(description = "旧密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
    @NotNull(message = "旧密码不能为空")
    @Length(min = 6, max = 16, message = "密码长度为 6 - 16 位")
    private String password;

    @Schema(description = "新密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
    @NotNull(message = "新密码密码不能为空")
    @Length(min = 6, max = 16, message = "密码长度为 6 - 16 位")
    private String newPassword;

    @Schema(description = "邮箱验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "323213")
    @NotNull(message = "验证码不能为空")
    private String emailCode;

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNewPassword() {
        return newPassword;
    }

    public void setNewPassword(String newPassword) {
        this.newPassword = newPassword;
    }

    public String getEmailCode() {
        return emailCode;
    }

    public void setEmailCode(String emailCode) {
        this.emailCode = emailCode;
    }
}
